import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
//关联webapp下的login.html,处理发送的post请求
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //1.获取到用户名和密码
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        //2.验证用户名和密码是否输入正确
        //正常的验证是从数据库读取数据
        //注册账号就会给数据库插入用户名和密码，登录的时候就是验证当前用户名是否存在，以及密码是否匹配
        //当前为了简单，先不引入数据库，直接通过硬编码的方式来判定用户名和密码
        //此处约定，合法的用户名是zhangsan 密码是123
        if (username == null || password == null || username.equals("") || password.equals("")){
            resp.setContentType("text/html;charset=utf8");
            resp.getWriter().write("请求的参数不完整");
        }
         if (!username.equals("zhangsan")){
             resp.setContentType("text/html;charset=utf8");
             resp.getWriter().write("用户名错误");
         }
         if (!password.equals("123")){
             resp.setContentType("text/html;charset=utf8");
             resp.getWriter().write("密码错误");
         }

        //3.登录成功了，此时就会给用户创建会话了
        HttpSession httpSession = req.getSession(true);//参数设置为true标识如果不存在会话就创建会话
        //保存自定义的数据
        httpSession.setAttribute("username",username);
        httpSession.setAttribute("password",password);
        httpSession.setAttribute("time",System.currentTimeMillis());
        //4.让页面自动跳转到网站主页
        //此处约定主页的路径为“index"（也是用servlet生成一个动态页面）
        resp.sendRedirect("index");
    }
}
